﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 甲语言编译器
{
    class 甲语言与机器码对应类
    {
        public void getBit()
        {
            Dictionary<string, string> dic = new Dictionary<string, string>();
            dic.Add("等换0x100", "VBEMODE");
            dic.Add("等换0x00280000", "BOTPAK");
            dic.Add("等换0x00100000", "数段寄KCAC");
            dic.Add("等换0x00008000", "数段寄KCAC0");
            dic.Add("等换0x0ff0", "CYLS");
            dic.Add("等换0x0ff1", "LE数段寄");
            dic.Add("等换0x0ff2", "VMODE");
            dic.Add("等换0x0ff4", "SCRNX");
            dic.Add("等换0x0ff6", "SCRNY");
            dic.Add("等换0x0ff8", "VRAM");
            dic.Add("载址0xc200", "");
            dic.Add("传送加寄,0x9000", "B89000");
            dic.Add("传送附段寄,加寄", "8EC0");
            dic.Add("传送DI,0", "BF0000");
            dic.Add("传送加寄,0x4f00", "B84F00");
            dic.Add("中断0x10", "CD10");
            dic.Add("比较加寄,0x004f", "3D004F");
            dic.Add("不等转scrn320", "7552");
            dic.Add("传送加寄,[附段寄:DI+4]", "268B4504");
            dic.Add("比较加寄,0x0200", "3D0200");
            dic.Add("JBscrn320", "7249");
            dic.Add("传送计寄,VBEMODE", "B90100");
            dic.Add("传送加寄,0x4f01", "B84F01");
            dic.Add("不等转scrn320", "753C");
            dic.Add("比较字节[附段寄:DI+0x19],8", "26807D1908");
            dic.Add("不等转scrn320", "7535");
            dic.Add("比较字节[附段寄:DI+0x1b],4", "26807D1B04");
            dic.Add("不等转scrn320", "752E");
            dic.Add("传送加寄,[附段寄:DI+0x00]", "268B05");
            dic.Add("与加寄,0x0080", "250080");
            dic.Add("JZscrn320", "7426");
            dic.Add("传送基寄,VBEMODE+0x4000", "BB4100");
            dic.Add("传送加寄,0x4f02", "B84F02");
            dic.Add("传送字节[VMODE],8", "C6060FF208");
            dic.Add("传送加寄,[附段寄:DI+0x12]", "268B4512");
            dic.Add("传送[SCRNX],加寄", "A30FF4");
            dic.Add("传送加寄,[附段寄:DI+0x14]", "268B4514");
            dic.Add("传送[SCRNY],加寄", "A30FF6");
            dic.Add("传送扩加寄,[附段寄:DI+0x28]", "66268B4528");
            dic.Add("传送[VRAM],扩加寄", "66A30FF8");
            dic.Add("跳转keystatus", "EB20");
            dic.Add("传送AL,0x13", "B013");
            dic.Add("传送AH,0x00", "B400");
            dic.Add("传送W或D[SCRNX],320", "C7060FF40140");
            dic.Add("传送W或D[SCRNY],200", "C7060FF600C8");
            dic.Add("传送双字[VRAM],0x000a0000", "66C7060FF8000A0000");
            dic.Add("传送AH,0x02", "B402");
            dic.Add("中断0x16", "CD16");
            dic.Add("传送[LE数段寄],AL", "A20FF1");
            dic.Add("传送AL,0xff", "B0FF");
            dic.Add("OUT0x21,AL", "E621");
            dic.Add("NOP", "90");
            dic.Add("OUT0xa1,AL", "E6A1");
            dic.Add("禁中断", "FA");
            dic.Add("调用waitkbdout", "E800B5");
            dic.Add("传送AL,0xd1", "B0D1");
            dic.Add("OUT0x64,AL", "E664");
            dic.Add("调用waitkbdout", "E800AE");
            dic.Add("传送AL,0xdf", "B0DF");
            dic.Add("OUT0x60,AL", "E660");
            dic.Add("调用waitkbdout", "E800A7");
            dic.Add("全局表[GDTR0]", "0F0116C38A");
            dic.Add("传送扩加寄,CR0", "0F20C0");
            dic.Add("与扩加寄,0x7fffffff", "66257FFFFFFF");
            dic.Add("或扩加寄,0x00000001", "6683C801");
            dic.Add("传送CR0,扩加寄", "0F22C0");
            dic.Add("跳转pipelineflush", "EB00");
            dic.Add("传送加寄,1*8", "B80008");
            dic.Add("传送数段寄,加寄", "8ED8");
            dic.Add("传送标段寄,加寄", "8EE0");
            dic.Add("传送全段寄,加寄", "8EE8");
            dic.Add("传送栈段寄,加寄", "8ED0");
            dic.Add("传送扩源寄,bootpack", "66BE0000C390");
            dic.Add("传送扩终寄,BOTPAK", "66BF00280000");
            dic.Add("传送扩计寄,512*1024/4", "66B900020000");
            dic.Add("调用memcpy", "E80077");
            dic.Add("传送扩源寄,0x7c00", "66BE00007C00");
            dic.Add("传送扩终寄,数段寄KCAC", "66BF00100000");
            dic.Add("传送扩计寄,512/4", "66B900000080");
            dic.Add("调用memcpy", "E80062");
            dic.Add("传送扩源寄,数段寄KCAC0+512", "66BE00008200");
            dic.Add("传送扩终寄,数段寄KCAC+512", "66BF00100200");
            dic.Add("传送扩计寄,0", "66B900000000");
            dic.Add("传送CL,字节[CYLS]", "8A0E0FF0");
            dic.Add("乘法扩计寄,512*18*2/4", "6669C900001200");
            dic.Add("SUB扩计寄,512/4", "6681E900000080");
            dic.Add("调用memcpy", "E8003B");
            dic.Add("传送扩基寄,BOTPAK", "66BB00280000");
            dic.Add("传送扩计寄,[扩基寄+16]", "67668B4B10");
            dic.Add("AD减一X,3", "6683C103");
            dic.Add("右移扩计寄,2", "66C1E902");
            dic.Add("JZskip", "7410");
            dic.Add("传送扩源寄,[扩基寄+20]", "67668B7314");
            dic.Add("ADD扩源寄,扩基寄", "6601DE");
            dic.Add("传送扩终寄,[扩基寄+12]", "67668B7B0C");
            dic.Add("调用memcpy", "E80016");
            dic.Add("传送扩栈寄,[扩基寄+12]", "67668B630C");
            dic.Add("跳转双字2*8:0x0000001b", "66EA0000001B0010");
            dic.Add("INAL,0x64", "E464");
            dic.Add("与AL,0x02", "2402");
            dic.Add("INAL,0x60", "E460");
            dic.Add("不等零waitkbdout", "75F8");
            dic.Add("返回", "C3");
            dic.Add("传送扩加寄,[扩源寄]", "67668B06");
            dic.Add("ADD扩源寄,4", "6683C604");
            dic.Add("传送[扩终寄],扩加寄", "67668907");
            dic.Add("ADD扩终寄,4", "6683C704");
            dic.Add("SUB扩计寄,1", "6683E901");
            dic.Add("不等零memcpy", "75EA");
            dic.Add("字节对齐16", "0000000000");
            dic.Add("预约字节8", "0000000000000000");
            dic.Add("定字0xffff,0x0000,0x9200,0x00cf", "FFFF0000920000CF");
            dic.Add("定字0xffff,0x0000,0x9a28,0x0047", "FFFF00009A280047");
            dic.Add("定字0", "0000");
            dic.Add("定字8*3-1", "0017");
            dic.Add("DDGDT0", "0000C370");
            dic.Add("字节对齐16", "");
            dic.Add("等换20", "CYLS");
            dic.Add("载址0x7c00", "");
            dic.Add("跳转entry", "EB4E");
            dic.Add("定字节0x90", "90");
            dic.Add("定字节\"HARIBOTE\"", "48415249424F5445");
            dic.Add("定字512", "0200");
            dic.Add("定字节1", "01");
            dic.Add("定字1", "0001");
            dic.Add("定字节2", "02");
            dic.Add("定字224", "00E0");
            dic.Add("定字2880", "0B40");
            dic.Add("定字节0xf0", "F0");
            dic.Add("定字9", "0009");
            dic.Add("定字18", "0012");
            dic.Add("定字2", "0002");
            dic.Add("DD0", "00000000");
            dic.Add("DD2880", "00000B40");
            dic.Add("定字节0,0,0x29", "000029");
            dic.Add("DD0xffffffff", "FFFFFFFF");
            dic.Add("定字节\"HARIBOTEOS\"", "48415249424F54454F53");
            dic.Add("定字节\"FAT12\"", "4641543132202020");
            dic.Add("预约字节18", "00000000000000000000");
            dic.Add("传送加寄,0", "B80000");
            dic.Add("传送栈寄,0x7c00", "BC7C00");
            dic.Add("传送加寄,0x0820", "B80820");
            dic.Add("传送CH,0", "B500");
            dic.Add("传送DH,0", "B600");
            dic.Add("传送CL,2", "B102");
            dic.Add("传送基寄,18*2*CYLS-1", "BB02CF");
            dic.Add("调用readfast", "E80033");
            dic.Add("传送字节[0x0ff0],CYLS", "C6060FF014");
            dic.Add("跳转0xc200", "E9458D");
            dic.Add("传送加寄,0", "B80000");
            dic.Add("传送源寄,msg", "BE7C90");
            dic.Add("传送AL,[源寄]", "8A04");
            dic.Add("AD数段寄I,1", "83C601");
            dic.Add("比较AL,0", "3C00");
            dic.Add("等零fin", "7409");
            dic.Add("传送AH,0x0e", "B40E");
            dic.Add("传送基寄,15", "BB000F");
            dic.Add("中断0x10", "CD10");
            dic.Add("跳转putloop", "EBEE");
            dic.Add("暂停", "F4");
            dic.Add("跳转fin", "EBFD");
            dic.Add("定字节0x0a,0x0a", "0A0A");
            dic.Add("定字节\"loaderr或\"", "6C6F6164206572726F72");
            dic.Add("定字节0x0a", "0A");
            dic.Add("定字节0", "00");
            dic.Add("", "readfast:");
            dic.Add("传送加寄,附段寄", "8CC0");
            dic.Add("左移加寄,3", "C1E003");
            dic.Add("与AH,0x7f", "80E47F");
            dic.Add("传送AL,128", "B080");
            dic.Add("SUBAL,AH", "28E0");
            dic.Add("传送AH,BL", "88DC");
            dic.Add("比较BH,0", "80FF00");
            dic.Add("等零.skip1", "7402");
            dic.Add("传送AH,18", "B412");
            dic.Add("比较AL,AH", "38E0");
            dic.Add("JBE.skip2", "7602");
            dic.Add("传送AL,AH", "88E0");
            dic.Add("传送AH,19", "B413");
            dic.Add("SUBAH,CL", "28CC");
            dic.Add("JBE.skip3", "7602");
            dic.Add("入栈基寄", "53");
            dic.Add("传送源寄,0", "BE0000");
            dic.Add("传送AH,0x02", "B402");
            dic.Add("传送基寄,0", "BB0000");
            dic.Add("传送DL,0x00", "B200");
            dic.Add("入栈附段寄", "06");
            dic.Add("入栈数寄", "52");
            dic.Add("入栈计寄", "51");
            dic.Add("入栈加寄", "50");
            dic.Add("中断0x13", "CD13");
            dic.Add("进等零next", "7314");
            dic.Add("比较源寄,5", "83FE05");
            dic.Add("大于Eerr或", "7395");
            dic.Add("出栈加寄", "58");
            dic.Add("出栈计寄", "59");
            dic.Add("出栈数寄", "5A");
            dic.Add("出栈附段寄", "07");
            dic.Add("跳转返回ry", "EBDD");
            dic.Add("出栈基寄", "5B");
            dic.Add("右移基寄,5", "C1EB05");
            dic.Add("传送AH,0", "B400");
            dic.Add("ADD基寄,加寄", "01C3");
            dic.Add("左移基寄,5", "C1E305");
            dic.Add("传送附段寄,基寄", "8EC3");
            dic.Add("出栈基寄", "5B");
            dic.Add("SUB基寄,加寄", "29C3");
            dic.Add("JZ.返回", "7418");
            dic.Add("ADDCL,AL", "00C1");
            dic.Add("比较CL,18", "80F912");
            dic.Add("JBEreadfast", "7698");
            dic.Add("传送CL,1", "B101");
            dic.Add("ADDDH,1", "80C601");
            dic.Add("比较DH,2", "80FE02");
            dic.Add("JBreadfast", "728E");
            dic.Add("传送DH,0", "B600");
            dic.Add("ADDCH,1", "80C501");
            dic.Add("跳转readfast", "EB87");
            dic.Add("预约字节0x7dfe-$", "00000000000000000000");
            dic.Add("定字节0x55,0xaa", "55AA");
            dic.Add("", "[格式\"WCOFF\"]");
            dic.Add("", "[命令模式\"i486p\"]");
            dic.Add("", "[位32]");
            dic.Add("", "[文件名\"naskfunc.nas\"]");
            dic.Add("全局_io_暂停,_io_禁中断,_io_sti,_io_sti暂停", "");
            dic.Add("全局_io_in8,_io_in16,_io_in32", "");
            dic.Add("全局_io_out8,_io_out16,_io_out32", "");
            dic.Add("全局_io_load_efla全段寄,_io_st或e_efla全段寄", "");
            dic.Add("全局_load_gdtr,_load_idtr", "");
            dic.Add("全局_load_cr0,_st或e_cr0", "");
            dic.Add("全局_load_tr", "");
            dic.Add("全局_asm_中断h与ler20,_asm_中断h与ler21", "");
            dic.Add("全局_asm_中断h与ler2c,_asm_中断h与ler0c", "");
            dic.Add("全局_asm_中断h与ler0d,_asm_end_app", "");
            dic.Add("全局_mem对比_sub", "");
            dic.Add("全局_far跳转,_far调用", "");
            dic.Add("全局_asm_hrb_api,_start_app", "");
            dic.Add("外部_中断h与ler20,_中断h与ler21", "");
            dic.Add("外部_中断h与ler2c,_中断h与ler0d", "");
            dic.Add("外部_中断h与ler0c", "");
            dic.Add("外部_hrb_api", "");
            dic.Add("", "[段.text]");
            dic.Add("", "_io_暂停:");
            dic.Add("暂停", "F4");
            dic.Add("", "_io_禁中断:");
            dic.Add("禁中断", "FA");
            dic.Add("", "_io_sti:");
            dic.Add("STI", "FB");
            dic.Add("", "_io_sti暂停:");
            dic.Add("", "_io_in8:");
            dic.Add("传送扩数寄,[扩栈寄+4]", "8B542404");
            dic.Add("传送扩加寄,0", "B800000000");
            dic.Add("INAL,数寄", "EC");
            dic.Add("", "_io_in16:");
            dic.Add("IN加寄,数寄", "66ED");
            dic.Add("", "_io_in32:");
            dic.Add("IN扩加寄,数寄", "ED");
            dic.Add("", "_io_out8:");
            dic.Add("传送AL,[扩栈寄+8]", "8A442408");
            dic.Add("OUT数寄,AL", "EE");
            dic.Add("", "_io_out16:");
            dic.Add("传送扩加寄,[扩栈寄+8]", "8B442408");
            dic.Add("OUT数寄,加寄", "66EF");
            dic.Add("", "_io_out32:");
            dic.Add("OUT数寄,扩加寄", "EF");
            dic.Add("", "_io_load_efla全段寄:");
            dic.Add("入栈FD", "9C");
            dic.Add("出栈扩加寄", "58");
            dic.Add("", "_io_st或e_efla全段寄:");
            dic.Add("传送扩加寄,[扩栈寄+4]", "8B442404");
            dic.Add("入栈扩加寄", "50");
            dic.Add("出栈FD", "9D");
            dic.Add("", "_load_gdtr:");
            dic.Add("传送加寄,[扩栈寄+4]", "668B442404");
            dic.Add("传送[扩栈寄+6],加寄", "6689442406");
            dic.Add("全局表[扩栈寄+6]", "0F01542406");
            dic.Add("", "_load_idtr:");
            dic.Add("中断表[扩栈寄+6]", "0F015C2406");
            dic.Add("", "_load_cr0:");
            dic.Add("", "_st或e_cr0:");
            dic.Add("", "_load_tr:");
            dic.Add("LTR[扩栈寄+4]", "0F005C2404");
            dic.Add("入栈数段寄", "1E");
            dic.Add("入栈AD", "60");
            dic.Add("传送扩加寄,扩栈寄", "89E0");
            dic.Add("传送加寄,栈段寄", "668CD0");
            dic.Add("调用_中断h与ler20", "E8[00000000]");
            dic.Add("出栈AD", "61");
            dic.Add("出栈数段寄", "1F");
            dic.Add("中断返回", "CF");
            dic.Add("调用_中断h与ler21", "E8[00000000]");
            dic.Add("调用_中断h与ler2c", "E8[00000000]");
            dic.Add("调用_中断h与ler0c", "E8[00000000]");
            dic.Add("比较扩加寄,0", "83F800");
            dic.Add("不等转_asm_end_app", "0F8500000091");
            dic.Add("ADD扩栈寄,4", "83C404");
            dic.Add("调用_中断h与ler0d", "E8[00000000]");
            dic.Add("比较扩加寄,0", "83F800");
            dic.Add("不等转_asm_end_app", "7571");
            dic.Add("", "_mem对比_sub:");
            dic.Add("入栈扩终寄", "57");
            dic.Add("入栈扩源寄", "56");
            dic.Add("入栈扩基寄", "53");
            dic.Add("传送扩源寄,0xaa55aa55", "BEAA55AA55");
            dic.Add("传送扩终寄,0x55aa55aa", "BF55AA55AA");
            dic.Add("传送扩加寄,[扩栈寄+12+4]", "8B442410");
            dic.Add("传送扩基寄,扩加寄", "89C3");
            dic.Add("ADD扩基寄,0xffc", "81C300000FFC");
            dic.Add("传送扩数寄,[扩基寄]", "8B13");
            dic.Add("传送[扩基寄],扩源寄", "8933");
            dic.Add("X或双字[扩基寄],0xffffffff", "8333FF");
            dic.Add("比较扩终寄,[扩基寄]", "3B3B");
            dic.Add("不等转mts_fin", "7518");
            dic.Add("比较扩源寄,[扩基寄]", "3B33");
            dic.Add("不等转mts_fin", "7511");
            dic.Add("传送[扩基寄],扩数寄", "8913");
            dic.Add("ADD扩加寄,0x1000", "0500001000");
            dic.Add("比较扩加寄,[扩栈寄+12+8]", "3B442414");
            dic.Add("JBEmts_loop", "76D9");
            dic.Add("出栈扩基寄", "5B");
            dic.Add("出栈扩源寄", "5E");
            dic.Add("出栈扩终寄", "5F");
            dic.Add("", "_far跳转:");
            dic.Add("跳转FAR[扩栈寄+4]", "FF6C2404");
            dic.Add("", "_far调用:");
            dic.Add("调用FAR[扩栈寄+4]", "FF5C2404");
            dic.Add("入栈AD", "60");
            dic.Add("传送数段寄,加寄", "8ED8");
            dic.Add("调用_hrb_api", "E8[00000000]");
            dic.Add("比较扩加寄,0", "83F800");
            dic.Add("不等转_asm_end_app", "7507");
            dic.Add("ADD扩栈寄,32", "83C420");
            dic.Add("传送扩栈寄,[扩加寄]", "8B20");
            dic.Add("传送双字[扩加寄+4],0", "C7400400000000");
            dic.Add("返回", "C3");
            dic.Add("", "_start_app:");
            dic.Add("传送扩加寄,[扩栈寄+36]", "8B442424");
            dic.Add("传送扩计寄,[扩栈寄+40]", "8B4C2428");
            dic.Add("传送扩数寄,[扩栈寄+44]", "8B54242C");
            dic.Add("传送扩基寄,[扩栈寄+48]", "8B5C2430");
            dic.Add("传送扩址寄,[扩栈寄+52]", "8B6C2434");
            dic.Add("传送[扩址寄],扩栈寄", "896500");
            dic.Add("传送[扩址寄+4],栈段寄", "8C5504");
            dic.Add("传送附段寄,基寄", "8EC3");
            dic.Add("传送数段寄,基寄", "8E定字节");
            dic.Add("传送标段寄,基寄", "8EE3");
            dic.Add("传送全段寄,基寄", "8EEB");
            dic.Add("或扩计寄,3", "83C903");
            dic.Add("或扩基寄,3", "83CB03");
            dic.Add("入栈扩基寄", "53");
            dic.Add("入栈扩数寄", "52");
            dic.Add("入栈扩计寄", "51");
            dic.Add("入栈扩加寄", "50");
            dic.Add("返回F", "CB");

        }


        static void Main栈段寄栈段寄s(string[] ar全段寄)
        {
            Dictionary<string, string> dic = new Dictionary<string, string>();


            dic.Add("B8 9000", "传送加寄,0x9000 ");
            dic.Add("8E C0  ", "传送附段寄,加寄");
            dic.Add("BF 0000", "传送DI,0 ");
            dic.Add("B8 4F00", "传送加寄,0x4f00 ");
            dic.Add("CD 10  ", "中断 0x10 ");
            dic.Add("3D 004F", "比较 加寄,0x004f ");
            dic.Add("75 52  ", "不等转 scrn320   ");

            dic.Add("26 8B 45 04", "传送加寄,[附段寄:DI+4]");
            dic.Add("3D 0200", "比较 加寄,0x0200 ");
            dic.Add("72 49  ", "JB scrn320");

            dic.Add("B9 0100", "传送计寄,VBEMODE ");
            dic.Add("B8 4F01", "传送加寄,0x4f01 ");


            dic.Add("75 3C  ", "不等转 scrn320   ");

            dic.Add("26 80 7D 19 08", "比较 字节 [附段寄:DI+0x19],8");
            dic.Add("75 35  ", "不等转 scrn320   ");
            dic.Add("26 80 7D 1B 04", "比较 字节 [附段寄:DI+0x1b],4");
            dic.Add("75 2E  ", "不等转 scrn320   ");
            dic.Add("26 8B 05   ", "传送加寄,[附段寄:DI+0x00] ");
            dic.Add("25 0080", "与 加寄,0x0080 ");
            dic.Add("74 26  ", "JZ scrn320");

            dic.Add("BB 4100", "传送基寄,VBEMODE+0x4000  ");
            dic.Add("B8 4F02", "传送加寄,0x4f02 ");
            dic.Add("CD 10  ", "中断 0x10 ");
            dic.Add("C6 06 0FF2 08 ", "传送字节 [VMODE],8");
            dic.Add("26 8B 45 12", "传送加寄,[附段寄:DI+0x12] ");
            dic.Add("A3 0FF4", "传送[SCRNX],加寄 ");
            dic.Add("26 8B 45 14", "传送加寄,[附段寄:DI+0x14] ");
            dic.Add("A3 0FF6", "传送[SCRNY],加寄 ");
            dic.Add("66 26 8B 45 28", "传送扩加寄,[附段寄:DI+0x28]");
            dic.Add("66 A3 0FF8 ", "传送[VRAM],扩加寄 ");
            dic.Add("EB 20  ", "跳转 keystatus ");

            dic.Add("B0 13  ", "传送AL,0x13");
            dic.Add("B4 00  ", "传送AH,0x00");
            dic.Add("CD 10  ", "中断 0x10");
            dic.Add("C6 06 0FF2 08 ", "传送字节 [VMODE],8");
            dic.Add("C7 06 0FF4 0140  ", "传送W或D [SCRNX],320 ");
            dic.Add("C7 06 0FF6 00C8  ", "传送W或D [SCRNY],200 ");
            dic.Add("66 C7 06 0FF8 000A0000   ", "传送双字 [VRAM],0x000a0000 ");

            dic.Add("B4 02  ", "传送AH,0x02");
            dic.Add("CD 16  ", "中断 0x16");
            dic.Add("A2 0FF1", "传送[LE数段寄],AL ");

            dic.Add("B0 FF  ", "传送AL,0xff   ");
            dic.Add("E6 21  ", "OUT 0x21,AL   ");

            dic.Add("90", "NOP");
            dic.Add("E6 A1  ", " OUT 0xa1,AL  ");

            dic.Add("FA", "禁中断");

            dic.Add("E8 00B5", "调用	waitkbdout    ");
            dic.Add("B0 D1  ", "传送AL,0xd1  ");
            dic.Add("E6 64  ", "OUT 0x64,AL  ");
            dic.Add("E8 00AE", "调用	waitkbdout    ");
            dic.Add("B0 DF  ", "传送AL,0xdf");
            dic.Add("E6 60  ", "OUT 0x60,AL");
            dic.Add("E8 00A7", "调用	waitkbdout");

            dic.Add("0F 01 16 C38A ", "全局表	[GDTR0]");
            dic.Add("0F 20 C0   ", "传送扩加寄,CR0  ");
            dic.Add("66 25 7FFFFFFF", "与 扩加寄,0x7fffffff");
            dic.Add("66 83 C8 01", "或 扩加寄,0x00000001");
            dic.Add("0F 22 C0   ", "传送CR0,扩加寄  ");
            dic.Add("EB 00  ", "跳转 pipelineflush ");

            dic.Add("B8 0008", "传送加寄,1*8");
            dic.Add("8E D8  ", "传送数段寄,加寄 ");
            dic.Add("8E C0  ", "传送附段寄,加寄 ");
            dic.Add("8E E0  ", "传送标段寄,加寄 ");
            dic.Add("8E E8  ", "传送全段寄,加寄 ");
            dic.Add("8E D0  ", "传送栈段寄,加寄 ");

            dic.Add("66 BE 0000C390", "传送扩源寄,bootpack");
            dic.Add("66 BF 00280000", "传送扩终寄,BOTPAK");
            dic.Add("66 B9 00020000", "传送扩计寄,512*1024/4 ");
            dic.Add("E8 0077", "调用 memcpy");

            dic.Add("66 BE 00007C00", "传送扩源寄,0x7c00");
            dic.Add("66 BF 00100000", "传送扩终寄,数段寄KCAC");
            dic.Add("66 B9 00000080", "传送扩计寄,512/4");
            dic.Add("E8 0062", "调用 memcpy   ");

            dic.Add("66 BE 00008200", "传送扩源寄,数段寄KCAC0+512");
            dic.Add("66 BF 00100200", "传送扩终寄,数段寄KCAC+512");
            dic.Add("66 B9 00000000", "传送扩计寄,0");
            dic.Add("8A 0E 0FF0 ", "传送CL,字节 [CYLS] ");
            dic.Add("66 69 C9 00001200", "乘法	扩计寄,512*18*2/4");
            dic.Add("66 81 E9 00000080", "SUB 扩计寄,512/4");
            dic.Add("E8 003B", "调用 memcpy");

            dic.Add("66 BB 00280000", "传送扩基寄,BOTPAK    ");
            dic.Add("67 66 8B 4B 10", "传送扩计寄,[扩基寄+16]  ");
            dic.Add("66 83 C1 03", "ADD 扩计寄,3 	; 扩计寄 += 3; ");
            dic.Add("66 C1 E9 02", "右移 扩计寄,2 	; 扩计寄 /= 4; ");
            dic.Add("74 10  ", "JZ skip");
            dic.Add("67 66 8B 73 14", "传送扩源寄,[扩基寄+20]");
            dic.Add("66 01 DE   ", "ADD 扩源寄,扩基寄");
            dic.Add("67 66 8B 7B 0C", "传送扩终寄,[扩基寄+12]");
            dic.Add("E8 0016", "调用	memcpy");

            dic.Add("67 66 8B 63 0C", "传送扩栈寄,[扩基寄+12]");
            dic.Add("66 EA 0000001B 0010 ", "跳转 双字 2*8:0x0000001b ");

            dic.Add("E4 64  ", "IN  AL,0x64 ");
            dic.Add("24 02  ", "与  AL,0x02 ");
            dic.Add("E4 60  ", "IN  AL,0x60");
            dic.Add("75 F8  ", "不等零 waitkbdout");
            dic.Add("C3", "返回   ");

            dic.Add("67 66 8B 06", "传送扩加寄,[扩源寄]");
            dic.Add("66 83 C6 04", "ADD 扩源寄,4 ");
            dic.Add("67 66 89 07", "传送[扩终寄],扩加寄");
            dic.Add("66 83 C7 04", "ADD 扩终寄,4 ");
            dic.Add("66 83 E9 01", "SUB 扩计寄,1 ");
            dic.Add("75 EA  ", "不等零 memcpy");
            dic.Add("C3", "返回   ");

            dic.Add("00 00 00 00 00", "字节对齐	16    ");

            dic.Add("00 00 00 00 00 00 00 00  ", "预约字节	8");
            dic.Add("FFFF 0000 9200 00CF ", "定字 0xffff,0x0000,0x9200,0x00cf");
            dic.Add("FFFF 0000 9A28 0047 ", "定字 0xffff,0x0000,0x9a28,0x0047");

            dic.Add("0000   ", "定字 0");

            dic.Add("0017   ", "定字 8*3-1 ");
            dic.Add("0000C370   ", "DD GDT0  ");


            string rs = "";
            foreach (string key in dic.Keys)
            {
                string vl = "";
                dic.TryGetValue(key, out vl);
                rs = rs + "dic.Add(\"" + vl + "\",\"" + key + "\");\n";
            }
            Console.WriteLine(rs);

        }
        public static string getBit2()
        {

            Dictionary<string, string> dic = new Dictionary<string, string>();


            dic.Add("B8 9000", "传送加寄,0x9000 ");
            dic.Add("8E C0  ", "传送附段寄,加寄");
            dic.Add("BF 0000", "传送DI,0 ");
            dic.Add("B8 4F00", "传送加寄,0x4f00 ");
            dic.Add("CD 10  ", "中断 0x10 ");
            dic.Add("3D 004F", "比较 加寄,0x004f ");
            dic.Add("75 52  ", "不等转 scrn320   ");

            dic.Add("26 8B 45 04", "传送加寄,[附段寄:DI+4]");
            dic.Add("3D 0200", "比较 加寄,0x0200 ");
            dic.Add("72 49  ", "JB scrn320");

            dic.Add("B9 0100", "传送计寄,VBEMODE ");
            dic.Add("B8 4F01", "传送加寄,0x4f01 ");
            dic.Add("CD 10  ", "中断 0x10 ");
            dic.Add("3D 004F", "比较 加寄,0x004f ");
            dic.Add("75 3C  ", "不等转 scrn320   ");

            dic.Add("26 80 7D 19 08", "比较 字节 [附段寄:DI+0x19],8");
            dic.Add("75 35  ", "不等转 scrn320   ");
            dic.Add("26 80 7D 1B 04", "比较 字节 [附段寄:DI+0x1b],4");
            dic.Add("75 2E  ", "不等转 scrn320   ");
            dic.Add("26 8B 05   ", "传送加寄,[附段寄:DI+0x00] ");
            dic.Add("25 0080", "与 加寄,0x0080 ");
            dic.Add("74 26  ", "JZ scrn320");

            dic.Add("BB 4100", "传送基寄,VBEMODE+0x4000  ");
            dic.Add("B8 4F02", "传送加寄,0x4f02 ");
            dic.Add("CD 10  ", "中断 0x10 ");
            dic.Add("C6 06 0FF2 08 ", "传送字节 [VMODE],8");
            dic.Add("26 8B 45 12", "传送加寄,[附段寄:DI+0x12] ");
            dic.Add("A3 0FF4", "传送[SCRNX],加寄 ");
            dic.Add("26 8B 45 14", "传送加寄,[附段寄:DI+0x14] ");
            dic.Add("A3 0FF6", "传送[SCRNY],加寄 ");
            dic.Add("66 26 8B 45 28", "传送扩加寄,[附段寄:DI+0x28]");
            dic.Add("66 A3 0FF8 ", "传送[VRAM],扩加寄 ");
            dic.Add("EB 20  ", "跳转 keystatus ");

            dic.Add("B0 13  ", "传送AL,0x13");
            dic.Add("B4 00  ", "传送AH,0x00");
            dic.Add("CD 10  ", "中断 0x10");
            dic.Add("C6 06 0FF2 08 ", "传送字节 [VMODE],8");
            dic.Add("C7 06 0FF4 0140  ", "传送W或D [SCRNX],320 ");
            dic.Add("C7 06 0FF6 00C8  ", "传送W或D [SCRNY],200 ");
            dic.Add("66 C7 06 0FF8 000A0000   ", "传送双字 [VRAM],0x000a0000 ");

            dic.Add("B4 02  ", "传送AH,0x02");
            dic.Add("CD 16  ", "中断 0x16");
            dic.Add("A2 0FF1", "传送[LE数段寄],AL ");

            dic.Add("B0 FF  ", "传送AL,0xff   ");
            dic.Add("E6 21  ", "OUT 0x21,AL   ");

            dic.Add("90", "NOP");
            dic.Add("E6 A1  ", " OUT 0xa1,AL  ");

            dic.Add("FA", "禁中断");

            dic.Add("E8 00B5", "调用	waitkbdout    ");
            dic.Add("B0 D1  ", "传送AL,0xd1  ");
            dic.Add("E6 64  ", "OUT 0x64,AL  ");
            dic.Add("E8 00AE", "调用	waitkbdout    ");
            dic.Add("B0 DF  ", "传送AL,0xdf");
            dic.Add("E6 60  ", "OUT 0x60,AL");
            dic.Add("E8 00A7", "调用	waitkbdout");

            dic.Add("0F 01 16 C38A ", "全局表	[GDTR0]");
            dic.Add("0F 20 C0   ", "传送扩加寄,CR0  ");
            dic.Add("66 25 7FFFFFFF", "与 扩加寄,0x7fffffff");
            dic.Add("66 83 C8 01", "或 扩加寄,0x00000001");
            dic.Add("0F 22 C0   ", "传送CR0,扩加寄  ");
            dic.Add("EB 00  ", "跳转 pipelineflush ");

            dic.Add("B8 0008", "传送加寄,1*8");
            dic.Add("8E D8  ", "传送数段寄,加寄 ");
            dic.Add("8E C0  ", "传送附段寄,加寄 ");
            dic.Add("8E E0  ", "传送标段寄,加寄 ");
            dic.Add("8E E8  ", "传送全段寄,加寄 ");
            dic.Add("8E D0  ", "传送栈段寄,加寄 ");

            dic.Add("66 BE 0000C390", "传送扩源寄,bootpack");
            dic.Add("66 BF 00280000", "传送扩终寄,BOTPAK");
            dic.Add("66 B9 00020000", "传送扩计寄,512*1024/4 ");
            dic.Add("E8 0077", "调用 memcpy");

            dic.Add("66 BE 00007C00", "传送扩源寄,0x7c00");
            dic.Add("66 BF 00100000", "传送扩终寄,数段寄KCAC");
            dic.Add("66 B9 00000080", "传送扩计寄,512/4");
            dic.Add("E8 0062", "调用 memcpy   ");

            dic.Add("66 BE 00008200", "传送扩源寄,数段寄KCAC0+512");
            dic.Add("66 BF 00100200", "传送扩终寄,数段寄KCAC+512");
            dic.Add("66 B9 00000000", "传送扩计寄,0");
            dic.Add("8A 0E 0FF0 ", "传送CL,字节 [CYLS] ");
            dic.Add("66 69 C9 00001200", "乘法	扩计寄,512*18*2/4");
            dic.Add("66 81 E9 00000080", "SUB 扩计寄,512/4");
            dic.Add("E8 003B", "调用 memcpy");

            dic.Add("66 BB 00280000", "传送扩基寄,BOTPAK    ");
            dic.Add("67 66 8B 4B 10", "传送扩计寄,[扩基寄+16]  ");
            dic.Add("66 83 C1 03", "ADD 扩计寄,3 	; 扩计寄 += 3; ");
            dic.Add("66 C1 E9 02", "右移 扩计寄,2 	; 扩计寄 /= 4; ");
            dic.Add("74 10  ", "JZ skip");
            dic.Add("67 66 8B 73 14", "传送扩源寄,[扩基寄+20]");
            dic.Add("66 01 DE   ", "ADD 扩源寄,扩基寄");
            dic.Add("67 66 8B 7B 0C", "传送扩终寄,[扩基寄+12]");
            dic.Add("E8 0016", "调用	memcpy");

            dic.Add("67 66 8B 63 0C", "传送扩栈寄,[扩基寄+12]");
            dic.Add("66 EA 0000001B 0010 ", "跳转 双字 2*8:0x0000001b ");

            dic.Add("E4 64  ", "IN  AL,0x64 ");
            dic.Add("24 02  ", "与  AL,0x02 ");
            dic.Add("E4 60  ", "IN  AL,0x60");
            dic.Add("75 F8  ", "不等零 waitkbdout");
            dic.Add("C3", "返回   ");

            dic.Add("67 66 8B 06", "传送扩加寄,[扩源寄]");
            dic.Add("66 83 C6 04", "ADD 扩源寄,4 ");
            dic.Add("67 66 89 07", "传送[扩终寄],扩加寄");
            dic.Add("66 83 C7 04", "ADD 扩终寄,4 ");
            dic.Add("66 83 E9 01", "SUB 扩计寄,1 ");
            dic.Add("75 EA  ", "不等零 memcpy");
            dic.Add("C3", "返回   ");

            dic.Add("00 00 00 00 00", "字节对齐	16    ");

            dic.Add("00 00 00 00 00 00 00 00  ", "预约字节	8");
            dic.Add("FFFF 0000 9200 00CF ", "定字 0xffff,0x0000,0x9200,0x00cf");
            dic.Add("FFFF 0000 9A28 0047 ", "定字 0xffff,0x0000,0x9a28,0x0047");

            dic.Add("0000   ", "定字 0");

            dic.Add("0017   ", "定字 8*3-1 ");
            dic.Add("0000C370   ", "DD GDT0  ");


            string rs = "";
            foreach (string key in dic.Keys)
            {
                string vl = "";
                dic.TryGetValue(key, out vl);
                rs = rs + "dic.Add(\"" + vl + "\",\"" + key + "\");\n";
            }
            Console.WriteLine(rs);
            return null;
        }

        static void Mains(string[] ar全段寄)
        {
            Dictionary<string, string> dic = new Dictionary<string, string>();

            dic.Add("F4", "暂停 ");
            dic.Add("C3", "返回 ");

            dic.Add("FA", "禁中断 ");
            dic.Add("C3", "返回 ");

            dic.Add("FB", "STI ");
            dic.Add("C3", "返回 ");

            dic.Add("FB", "STI ");
            dic.Add("F4", "暂停 ");
            dic.Add("C3", "返回 ");

            dic.Add("8B 54 24 04   ", "传送扩数寄,[扩栈寄+4]");
            dic.Add("B8 00000000   ", "传送扩加寄,0");
            dic.Add("EC", "IN AL,数寄");
            dic.Add("C3", "返回 ");

            dic.Add("8B 54 24 04   ", "传送扩数寄,[扩栈寄+4]");
            dic.Add("B8 00000000   ", "传送扩加寄,0");
            dic.Add("66 ED", "IN 加寄,数寄");
            dic.Add("C3", "返回 ");

            dic.Add("8B 54 24 04   ", "传送扩数寄,[扩栈寄+4]");
            dic.Add("ED", "IN 扩加寄,数寄 ");
            dic.Add("C3", "返回 ");

            dic.Add("8B 54 24 04   ", "传送扩数寄,[扩栈寄+4]");
            dic.Add("8A 44 24 08   ", "传送AL,[扩栈寄+8] ");
            dic.Add("EE", "OUT 数寄,AL");
            dic.Add("C3", "返回 ");

            dic.Add("8B 54 24 04   ", "传送扩数寄,[扩栈寄+4]");
            dic.Add("8B 44 24 08   ", "传送扩加寄,[扩栈寄+8] ");
            dic.Add("66 EF", "OUT 数寄,加寄");
            dic.Add("C3", "返回 ");

            dic.Add("8B 54 24 04   ", "传送扩数寄,[扩栈寄+4]");
            dic.Add("8B 44 24 08   ", "传送扩加寄,[扩栈寄+8] ");
            dic.Add("EF", "OUT 数寄,扩加寄 ");
            dic.Add("C3", "返回 ");

            dic.Add("9C", "入栈FD");
            dic.Add("58", "出栈 扩加寄");
            dic.Add("C3", "返回 ");


            dic.Add("50", "入栈	扩加寄  ");
            dic.Add("9D", "出栈FD");
            dic.Add("C3", "返回 ");

            dic.Add("66 8B 44 24 04", "传送加寄,[扩栈寄+4] ");
            dic.Add("66 89 44 24 06", "传送[扩栈寄+6],加寄  ");
            dic.Add("0F 01 54 24 06", "全局表	[扩栈寄+6] ");
            dic.Add("C3", "返回 ");

            dic.Add("66 8B 44 24 04", "传送加寄,[扩栈寄+4] ");
            dic.Add("66 89 44 24 06", "传送[扩栈寄+6],加寄  ");
            dic.Add("0F 01 5C 24 06", "中断表	[扩栈寄+6] ");
            dic.Add("C3", "返回 ");

            dic.Add("0F 20 C0      ", "传送扩加寄,CR0 ");
            dic.Add("C3", "返回 ");

            dic.Add("8B 44 24 04   ", "传送扩加寄,[扩栈寄+4] ");
            dic.Add("0F 22 C0      ", "传送CR0,扩加寄 ");
            dic.Add("C3", "返回 ");

            dic.Add("0F 00 5C 24 04", "LTR [扩栈寄+4]");
            dic.Add("C3", "返回");

            dic.Add("06", "入栈	附段寄");
            dic.Add("1E", "入栈	数段寄");
            dic.Add("60", "入栈AD");
            dic.Add("89 E0", "传送扩加寄,扩栈寄");
            dic.Add("50", "入栈	扩加寄");
            dic.Add("66 8C D0", "传送加寄,栈段寄");
            dic.Add("8E D8", "传送数段寄,加寄");
            dic.Add("8E C0", "传送附段寄,加寄");
            dic.Add("E8 [00000000]", "调用	_中断h与ler20");
            dic.Add("58", "出栈 扩加寄");
            dic.Add("61", "出栈AD");
            dic.Add("1F", "出栈 数段寄");
            dic.Add("07", "出栈 附段寄");
            dic.Add("CF", "中断返回");

            dic.Add("06", "入栈	附段寄");
            dic.Add("1E", "入栈	数段寄");
            dic.Add("60", "入栈AD");
            dic.Add("89 E0", "传送扩加寄,扩栈寄");
            dic.Add("50", "入栈	扩加寄");
            dic.Add("66 8C D0      ", "传送加寄,栈段寄");
            dic.Add("8E D8", "传送数段寄,加寄");
            dic.Add("8E C0", "传送附段寄,加寄");
            dic.Add("E8 [00000000] ", "调用	_中断h与ler21");
            dic.Add("58", "出栈 扩加寄");
            dic.Add("61", "出栈AD");
            dic.Add("1F", "出栈 数段寄");
            dic.Add("07", "出栈 附段寄");
            dic.Add("CF", "中断返回");

            dic.Add("06", "入栈	附段寄");
            dic.Add("1E", "入栈	数段寄");
            dic.Add("60", "入栈AD");
            dic.Add("89 E0", "传送扩加寄,扩栈寄");
            dic.Add("50", "入栈	扩加寄");
            dic.Add("66 8C D0", "传送加寄,栈段寄");
            dic.Add("8E D8", "传送数段寄,加寄");
            dic.Add("8E C0", "传送附段寄,加寄");
            dic.Add("E8 [00000000] ", "调用	_中断h与ler2c");
            dic.Add("58", "出栈 扩加寄");
            dic.Add("61", "出栈AD");
            dic.Add("1F", "出栈 数段寄");
            dic.Add("07", "出栈 附段寄");
            dic.Add("CF", "中断返回");

            dic.Add("FB", "STI");
            dic.Add("06", "入栈	附段寄");
            dic.Add("1E", "入栈	数段寄");
            dic.Add("60", "入栈AD");
            dic.Add("89 E0", "传送扩加寄,扩栈寄");
            dic.Add("50", "入栈	扩加寄  ");
            dic.Add("66 8C D0      ", "传送加寄,栈段寄");
            dic.Add("8E D8", "传送数段寄,加寄");
            dic.Add("8E C0", "传送附段寄,加寄");
            dic.Add("E8 [00000000] ", "调用	_中断h与ler0c");
            dic.Add("83 F8 00      ", "比较 扩加寄,0");
            dic.Add("0F 85 00000091", "不等转 _asm_end_app");
            dic.Add("58", "出栈 扩加寄");
            dic.Add("61", "出栈AD");
            dic.Add("1F", "出栈 数段寄");
            dic.Add("07", "出栈 附段寄");
            dic.Add("83 C4 04      ", "ADD 扩栈寄,4");
            dic.Add("CF", "中断返回");

            dic.Add("FB", "STI ");
            dic.Add("06", "入栈	附段寄");
            dic.Add("1E", "入栈	数段寄");
            dic.Add("60", "入栈AD");
            dic.Add("89 E0", "传送扩加寄,扩栈寄");
            dic.Add("50", "入栈	扩加寄  ");
            dic.Add("66 8C D0      ", "传送加寄,栈段寄");
            dic.Add("8E D8", "传送数段寄,加寄");
            dic.Add("8E C0", "传送附段寄,加寄");
            dic.Add("E8 [00000000] ", "调用	_中断h与ler0d");
            dic.Add("83 F8 00      ", "比较 扩加寄,0");
            dic.Add("75 71", "不等转 _asm_end_app");
            dic.Add("58", "出栈 扩加寄");
            dic.Add("61", "出栈AD");
            dic.Add("1F", "出栈 数段寄");
            dic.Add("07", "出栈 附段寄");
            dic.Add("83 C4 04      ", "ADD 扩栈寄,4");
            dic.Add("CF", "中断返回");

            dic.Add("57", "入栈	扩终寄");
            dic.Add("56", "入栈	扩源寄");
            dic.Add("53", "入栈	扩基寄");
            dic.Add("BE AA55AA55   ", "传送扩源寄,0xaa55aa55");
            dic.Add("BF 55AA55AA   ", "传送扩终寄,0x55aa55aa");
            dic.Add("8B 44 24 10   ", "传送扩加寄,[扩栈寄+12+4]");

            dic.Add("89 C3", "传送扩基寄,扩加寄");
            dic.Add("81 C3 00000FFC", "ADD 扩基寄,0xffc");
            dic.Add("8B 13", "传送扩数寄,[扩基寄]");
            dic.Add("89 33", "传送[扩基寄],扩源寄");
            dic.Add("83 33 FF      ", "X或 双字 [扩基寄],0xffffffff");
            dic.Add("3B 3B", "比较 扩终寄,[扩基寄]"); ;
            dic.Add("75 18", "不等转 mts_fin");
            dic.Add("83 33 FF      ", "X或 双字 [扩基寄],0xffffffff");
            dic.Add("3B 33", "比较 扩源寄,[扩基寄]"); ;
            dic.Add("75 11", "不等转 mts_fin");
            dic.Add("89 13", "传送[扩基寄],扩数寄");
            dic.Add("05 00001000   ", "ADD 扩加寄,0x1000");
            dic.Add("3B 44 24 14   ", "比较 扩加寄,[扩栈寄+12+8]");
            dic.Add("76 D9", "JBE mts_loop");
            dic.Add("5B", "出栈 扩基寄");
            dic.Add("5E", "出栈 扩源寄");
            dic.Add("5F", "出栈 扩终寄");
            dic.Add("C3", "返回");

            dic.Add("89 13", "传送[扩基寄],扩数寄");
            dic.Add("5B", "出栈 扩基寄");
            dic.Add("5E", "出栈 扩源寄");
            dic.Add("5F", "出栈 扩终寄");
            dic.Add("C3", "返回 ");

            dic.Add("FF 6C 24 04   ", "跳转 FAR	[扩栈寄+4]");
            dic.Add("C3", "返回 ");

            dic.Add("FF 5C 24 04   ", "调用	FAR	[扩栈寄+4]");
            dic.Add("C3", "返回");

            dic.Add("FB", "STI");
            dic.Add("1E", "入栈	数段寄");
            dic.Add("06", "入栈	附段寄");
            dic.Add("60", "入栈AD");
            dic.Add("60", "入栈AD");
            dic.Add("66 8C D0", "传送加寄,栈段寄");
            dic.Add("8E D8", "传送数段寄,加寄");
            dic.Add("8E C0", "传送附段寄,加寄");
            dic.Add("E8 [00000000] ", "调用	_hrb_api");
            dic.Add("83 F8 00      ", "比较 扩加寄,0");
            dic.Add("75 07", "不等转 _asm_end_app");
            dic.Add("83 C4 20", "ADD 扩栈寄,32 ");
            dic.Add("61", "出栈AD");
            dic.Add("07", "出栈 附段寄");
            dic.Add("1F", "出栈 数段寄");
            dic.Add("CF", "中断返回");

            dic.Add("8B 20", "传送扩栈寄,[扩加寄]");
            dic.Add("C7 40 04 00000000", "传送双字 [扩加寄+4],0");
            dic.Add("61", "出栈AD");
            dic.Add("C3", "返回");

            dic.Add("60", "入栈AD");
            dic.Add("8B 44 24 24   ", "传送扩加寄,[扩栈寄+36]");
            dic.Add("8B 4C 24 28   ", "传送扩计寄,[扩栈寄+40]");
            dic.Add("8B 54 24 2C   ", "传送扩数寄,[扩栈寄+44]");
            dic.Add("8B 5C 24 30   ", "传送扩基寄,[扩栈寄+48]");
            dic.Add("8B 6C 24 34   ", "传送扩址寄,[扩栈寄+52]");
            dic.Add("89 65 00      ", "传送[扩址寄  ],扩栈寄");
            dic.Add("8C 55 04      ", "传送[扩址寄+4],栈段寄");
            dic.Add("8E C3", "传送附段寄,基寄");
            dic.Add("8E 定字节", "传送数段寄,基寄");
            dic.Add("8E E3", "传送标段寄,基寄");
            dic.Add("8E EB", "传送全段寄,基寄");

            dic.Add("83 C9 03      ", "或 扩计寄,3");
            dic.Add("83 CB 03      ", "或 扩基寄,3");
            dic.Add("53", "入栈	扩基寄");
            dic.Add("52", "入栈	扩数寄");
            dic.Add("51", "入栈	扩计寄");
            dic.Add("50", "入栈	扩加寄");
            dic.Add("CB", "返回F");

        }
        static string getbit()
        {
            Dictionary<string, string> dic = new Dictionary<string, string>();

            dic.Add("F4", "暂停 ");
            dic.Add("C3", "返回 ");

            dic.Add("FA", "禁中断 ");
            dic.Add("C3", "返回 ");

            dic.Add("FB", "STI ");
            dic.Add("C3", "返回 ");

            dic.Add("FB", "STI ");
            dic.Add("F4", "暂停 ");
            dic.Add("C3", "返回 ");

            dic.Add("8B 54 24 04   ", "传送扩数寄,[扩栈寄+4]");
            dic.Add("B8 00000000   ", "传送扩加寄,0");
            dic.Add("EC", "IN AL,数寄");
            dic.Add("C3", "返回 ");

            dic.Add("8B 54 24 04   ", "传送扩数寄,[扩栈寄+4]");
            dic.Add("B8 00000000   ", "传送扩加寄,0");
            dic.Add("66 ED", "IN 加寄,数寄");
            dic.Add("C3", "返回 ");

            dic.Add("8B 54 24 04   ", "传送扩数寄,[扩栈寄+4]");
            dic.Add("ED", "IN 扩加寄,数寄 ");
            dic.Add("C3", "返回 ");

            dic.Add("8B 54 24 04   ", "传送扩数寄,[扩栈寄+4]");
            dic.Add("8A 44 24 08   ", "传送AL,[扩栈寄+8] ");
            dic.Add("EE", "OUT 数寄,AL");
            dic.Add("C3", "返回 ");

            dic.Add("8B 54 24 04   ", "传送扩数寄,[扩栈寄+4]");
            dic.Add("8B 44 24 08   ", "传送扩加寄,[扩栈寄+8] ");
            dic.Add("66 EF", "OUT 数寄,加寄");
            dic.Add("C3", "返回 ");

            dic.Add("8B 54 24 04   ", "传送扩数寄,[扩栈寄+4]");
            dic.Add("8B 44 24 08   ", "传送扩加寄,[扩栈寄+8] ");
            dic.Add("EF", "OUT 数寄,扩加寄 ");
            dic.Add("C3", "返回 ");

            dic.Add("9C", "入栈FD");
            dic.Add("58", "出栈 扩加寄");
            dic.Add("C3", "返回 ");


            dic.Add("50", "入栈	扩加寄  ");
            dic.Add("9D", "出栈FD");
            dic.Add("C3", "返回 ");

            dic.Add("66 8B 44 24 04", "传送加寄,[扩栈寄+4] ");
            dic.Add("66 89 44 24 06", "传送[扩栈寄+6],加寄  ");
            dic.Add("0F 01 54 24 06", "全局表	[扩栈寄+6] ");
            dic.Add("C3", "返回 ");

            dic.Add("66 8B 44 24 04", "传送加寄,[扩栈寄+4] ");
            dic.Add("66 89 44 24 06", "传送[扩栈寄+6],加寄  ");
            dic.Add("0F 01 5C 24 06", "中断表	[扩栈寄+6] ");
            dic.Add("C3", "返回 ");

            dic.Add("0F 20 C0      ", "传送扩加寄,CR0 ");
            dic.Add("C3", "返回 ");

            dic.Add("8B 44 24 04   ", "传送扩加寄,[扩栈寄+4] ");
            dic.Add("0F 22 C0      ", "传送CR0,扩加寄 ");
            dic.Add("C3", "返回 ");

            dic.Add("0F 00 5C 24 04", "LTR [扩栈寄+4]");
            dic.Add("C3", "返回");

            dic.Add("06", "入栈	附段寄");
            dic.Add("1E", "入栈	数段寄");
            dic.Add("60", "入栈AD");
            dic.Add("89 E0", "传送扩加寄,扩栈寄");
            dic.Add("50", "入栈	扩加寄");
            dic.Add("66 8C D0", "传送加寄,栈段寄");
            dic.Add("8E D8", "传送数段寄,加寄");
            dic.Add("8E C0", "传送附段寄,加寄");
            dic.Add("E8 [00000000]", "调用	_中断h与ler20");
            dic.Add("58", "出栈 扩加寄");
            dic.Add("61", "出栈AD");
            dic.Add("1F", "出栈 数段寄");
            dic.Add("07", "出栈 附段寄");
            dic.Add("CF", "中断返回");

            dic.Add("06", "入栈	附段寄");
            dic.Add("1E", "入栈	数段寄");
            dic.Add("60", "入栈AD");
            dic.Add("89 E0", "传送扩加寄,扩栈寄");
            dic.Add("50", "入栈	扩加寄");
            dic.Add("66 8C D0      ", "传送加寄,栈段寄");
            dic.Add("8E D8", "传送数段寄,加寄");
            dic.Add("8E C0", "传送附段寄,加寄");
            dic.Add("E8 [00000000] ", "调用	_中断h与ler21");
            dic.Add("58", "出栈 扩加寄");
            dic.Add("61", "出栈AD");
            dic.Add("1F", "出栈 数段寄");
            dic.Add("07", "出栈 附段寄");
            dic.Add("CF", "中断返回");

            dic.Add("06", "入栈	附段寄");
            dic.Add("1E", "入栈	数段寄");
            dic.Add("60", "入栈AD");
            dic.Add("89 E0", "传送扩加寄,扩栈寄");
            dic.Add("50", "入栈	扩加寄");
            dic.Add("66 8C D0", "传送加寄,栈段寄");
            dic.Add("8E D8", "传送数段寄,加寄");
            dic.Add("8E C0", "传送附段寄,加寄");
            dic.Add("E8 [00000000] ", "调用	_中断h与ler2c");
            dic.Add("58", "出栈 扩加寄");
            dic.Add("61", "出栈AD");
            dic.Add("1F", "出栈 数段寄");
            dic.Add("07", "出栈 附段寄");
            dic.Add("CF", "中断返回");

            dic.Add("FB", "STI");
            dic.Add("06", "入栈	附段寄");
            dic.Add("1E", "入栈	数段寄");
            dic.Add("60", "入栈AD");
            dic.Add("89 E0", "传送扩加寄,扩栈寄");
            dic.Add("50", "入栈	扩加寄  ");
            dic.Add("66 8C D0      ", "传送加寄,栈段寄");
            dic.Add("8E D8", "传送数段寄,加寄");
            dic.Add("8E C0", "传送附段寄,加寄");
            dic.Add("E8 [00000000] ", "调用	_中断h与ler0c");
            dic.Add("83 F8 00      ", "比较 扩加寄,0");
            dic.Add("0F 85 00000091", "不等转 _asm_end_app");
            dic.Add("58", "出栈 扩加寄");
            dic.Add("61", "出栈AD");
            dic.Add("1F", "出栈 数段寄");
            dic.Add("07", "出栈 附段寄");
            dic.Add("83 C4 04      ", "ADD 扩栈寄,4");
            dic.Add("CF", "中断返回");

            dic.Add("FB", "STI ");
            dic.Add("06", "入栈	附段寄");
            dic.Add("1E", "入栈	数段寄");
            dic.Add("60", "入栈AD");
            dic.Add("89 E0", "传送扩加寄,扩栈寄");
            dic.Add("50", "入栈	扩加寄  ");
            dic.Add("66 8C D0      ", "传送加寄,栈段寄");
            dic.Add("8E D8", "传送数段寄,加寄");
            dic.Add("8E C0", "传送附段寄,加寄");
            dic.Add("E8 [00000000] ", "调用	_中断h与ler0d");
            dic.Add("83 F8 00      ", "比较 扩加寄,0");
            dic.Add("75 71", "不等转 _asm_end_app");
            dic.Add("58", "出栈 扩加寄");
            dic.Add("61", "出栈AD");
            dic.Add("1F", "出栈 数段寄");
            dic.Add("07", "出栈 附段寄");
            dic.Add("83 C4 04      ", "ADD 扩栈寄,4");
            dic.Add("CF", "中断返回");

            dic.Add("57", "入栈	扩终寄");
            dic.Add("56", "入栈	扩源寄");
            dic.Add("53", "入栈	扩基寄");
            dic.Add("BE AA55AA55   ", "传送扩源寄,0xaa55aa55");
            dic.Add("BF 55AA55AA   ", "传送扩终寄,0x55aa55aa");
            dic.Add("8B 44 24 10   ", "传送扩加寄,[扩栈寄+12+4]");

            dic.Add("89 C3", "传送扩基寄,扩加寄");
            dic.Add("81 C3 00000FFC", "ADD 扩基寄,0xffc");
            dic.Add("8B 13", "传送扩数寄,[扩基寄]");
            dic.Add("89 33", "传送[扩基寄],扩源寄");
            dic.Add("83 33 FF      ", "X或 双字 [扩基寄],0xffffffff");
            dic.Add("3B 3B", "比较 扩终寄,[扩基寄]"); ;
            dic.Add("75 18", "不等转 mts_fin");
            dic.Add("83 33 FF      ", "X或 双字 [扩基寄],0xffffffff");
            dic.Add("3B 33", "比较 扩源寄,[扩基寄]"); ;
            dic.Add("75 11", "不等转 mts_fin");
            dic.Add("89 13", "传送[扩基寄],扩数寄");
            dic.Add("05 00001000   ", "ADD 扩加寄,0x1000");
            dic.Add("3B 44 24 14   ", "比较 扩加寄,[扩栈寄+12+8]");
            dic.Add("76 D9", "JBE mts_loop");
            dic.Add("5B", "出栈 扩基寄");
            dic.Add("5E", "出栈 扩源寄");
            dic.Add("5F", "出栈 扩终寄");
            dic.Add("C3", "返回");

            dic.Add("89 13", "传送[扩基寄],扩数寄");
            dic.Add("5B", "出栈 扩基寄");
            dic.Add("5E", "出栈 扩源寄");
            dic.Add("5F", "出栈 扩终寄");
            dic.Add("C3", "返回 ");

            dic.Add("FF 6C 24 04   ", "跳转 FAR	[扩栈寄+4]");
            dic.Add("C3", "返回 ");

            dic.Add("FF 5C 24 04   ", "调用	FAR	[扩栈寄+4]");
            dic.Add("C3", "返回");

            dic.Add("FB", "STI");
            dic.Add("1E", "入栈	数段寄");
            dic.Add("06", "入栈	附段寄");
            dic.Add("60", "入栈AD");
            dic.Add("60", "入栈AD");
            dic.Add("66 8C D0", "传送加寄,栈段寄");
            dic.Add("8E D8", "传送数段寄,加寄");
            dic.Add("8E C0", "传送附段寄,加寄");
            dic.Add("E8 [00000000] ", "调用	_hrb_api");
            dic.Add("83 F8 00      ", "比较 扩加寄,0");
            dic.Add("75 07", "不等转 _asm_end_app");
            dic.Add("83 C4 20", "ADD 扩栈寄,32 ");
            dic.Add("61", "出栈AD");
            dic.Add("07", "出栈 附段寄");
            dic.Add("1F", "出栈 数段寄");
            dic.Add("CF", "中断返回");

            dic.Add("8B 20", "传送扩栈寄,[扩加寄]");
            dic.Add("C7 40 04 00000000", "传送双字 [扩加寄+4],0");
            dic.Add("61", "出栈AD");
            dic.Add("C3", "返回");

            dic.Add("60", "入栈AD");
            dic.Add("8B 44 24 24   ", "传送扩加寄,[扩栈寄+36]");
            dic.Add("8B 4C 24 28   ", "传送扩计寄,[扩栈寄+40]");
            dic.Add("8B 54 24 2C   ", "传送扩数寄,[扩栈寄+44]");
            dic.Add("8B 5C 24 30   ", "传送扩基寄,[扩栈寄+48]");
            dic.Add("8B 6C 24 34   ", "传送扩址寄,[扩栈寄+52]");
            dic.Add("89 65 00      ", "传送[扩址寄  ],扩栈寄");
            dic.Add("8C 55 04      ", "传送[扩址寄+4],栈段寄");
            dic.Add("8E C3", "传送附段寄,基寄");
            dic.Add("8E 定字节", "传送数段寄,基寄");
            dic.Add("8E E3", "传送标段寄,基寄");
            dic.Add("8E EB", "传送全段寄,基寄");

            dic.Add("83 C9 03      ", "或 扩计寄,3");
            dic.Add("83 CB 03      ", "或 扩基寄,3");
            dic.Add("53", "入栈	扩基寄");
            dic.Add("52", "入栈	扩数寄");
            dic.Add("51", "入栈	扩计寄");
            dic.Add("50", "入栈	扩加寄");
            dic.Add("CB", "返回F");

            return null;
        }

        static void Mains2(string[] ar全段寄)
        {
            Dictionary<string, string> dic = new Dictionary<string, string>();
            dic.Add("跳转 entry", "EB 4E");
            dic.Add("定字节 0x90", "90");
            dic.Add("定字节 \"HARIBOTE\"", "48 41 52 49 42 4F 54 45  ");
            dic.Add("定字 512", "0200 ");
            dic.Add("定字节 1", "01");
            dic.Add("定字 1", "0001 ");
            dic.Add("定字节 2", "02");
            dic.Add("定字 224", "00E0 ");
            dic.Add("定字 2880", "0B40 ");
            dic.Add("定字节 0xf0", "F0");
            dic.Add("定字 9", "0009 ");
            dic.Add("定字 18", "0012 ");
            dic.Add("定字 2", "0002 ");
            dic.Add("DD 0", "00000000");
            dic.Add("DD 2880", "00000B40");
            dic.Add("定字节 0,0,0x29", "00 00 29");
            dic.Add("DD 0xffffffff", "FFFFFFFF");
            dic.Add("定字节 \"HARIBOTEOS \"", "48 41 52 49 42 4F 54 45 4F 53    ");
            dic.Add("  ", "20 ");
            dic.Add("定字节 \"FAT12   \"", "46 41 54 31 32 20 20 20  ");
            dic.Add("预约字节	18", "00 00 00 00 00 00 00 00 00 00    ");
            dic.Add("传送加寄,0", "B8 0000 ");
            dic.Add("传送栈段寄,加寄", "8E D0");
            dic.Add("传送栈寄,0x7c00 ", "BC 7C00 ");
            dic.Add("传送数段寄,加寄", "8E D8");
            dic.Add("传送加寄,0x0820 ", "B8 0820 ");
            dic.Add("传送附段寄,加寄", "8E C0");
            dic.Add("传送CH,0", "B5 00");
            dic.Add("传送CL,2", "B1 02");
            dic.Add("传送基寄,18*2*CYLS-1", "BB 02CF ");
            dic.Add("调用	readfast", "E8 0033 ");
            dic.Add("传送字节 [0x0ff0],CYLS", "C6 06 0FF0 14    ");
            dic.Add("跳转 0xc200", "E9 458D ");
            dic.Add("传送源寄,msg", "BE 7C90 ");
            dic.Add("传送AL,[源寄]", "8A 04");
            dic.Add("ADD 源寄,1", "83 C6 01");
            dic.Add("比较 AL,0", "3C 00");
            dic.Add("等零 fin", "74 09");
            dic.Add("传送AH,0x0e", "B4 0E");
            dic.Add("传送基寄,15", "BB 000F ");
            dic.Add("中断 0x10", "CD 10");
            dic.Add("跳转 putloop", "EB EE");
            dic.Add("暂停", "F4");
            dic.Add("跳转 fin", "EB FD");
            dic.Add("定字节 0x0a, 0x0a", "0A 0A");
            dic.Add("定字节 \"load err或\"", "6C 6F 61 64 20 65 72 72 6F 72    ");
            dic.Add("定字节 0x0a", "0A");
            dic.Add("定字节 0 ", "00");
            dic.Add("传送加寄,附段寄", "8C C0");
            dic.Add("左移 加寄,3", "C1 E0 03");
            dic.Add("与 AH,0x7f", "80 E4 7F");
            dic.Add("传送AL,128", "B0 80");
            dic.Add("SUB AL,AH", "28 E0");
            dic.Add("传送AH,BL", "88 DC");
            dic.Add("比较 BH,0", "80 FF 00");
            dic.Add("等零 .skip1", "74 02");
            dic.Add("传送AH,18", "B4 12");
            dic.Add("比较 AL,AH", "38 E0");
            dic.Add("JBE .skip2", "76 02");
            dic.Add("传送AL,AH", "88 E0");
            dic.Add("传送AH,19", "B4 13");
            dic.Add("SUB AH,CL", "28 CC");
            dic.Add("入栈	基寄", "53");
            dic.Add("传送源寄,0", "BE 0000 ");
            dic.Add("传送AH,0x02", "B4 02");
            dic.Add("传送基寄,0", "BB 0000 ");
            dic.Add("传送DL,0x00", "B2 00");
            dic.Add("入栈	附段寄", "06");
            dic.Add("入栈	数寄", "52");
            dic.Add("入栈	计寄", "51");
            dic.Add("入栈	加寄", "50");
            dic.Add("中断 0x13", "CD 13");
            dic.Add("进等零 next", "73 14");
            dic.Add("比较 源寄,5", "83 FE 05");
            dic.Add("大于E err或", "73 95");
            dic.Add("传送AH,0x00", "B4 00");
            dic.Add("出栈 加寄", "58");
            dic.Add("出栈 计寄", "59");
            dic.Add("出栈 数寄", "5A");
            dic.Add("出栈 附段寄", "07");
            dic.Add("跳转 返回ry", "EB DD");
            dic.Add("出栈 基寄", "5B");
            dic.Add("右移 基寄,5", "C1 EB 05");
            dic.Add("ADD 基寄,加寄", "01 C3");
            dic.Add("左移 基寄,5", "C1 E3 05");
            dic.Add("传送附段寄,基寄", "8E C3");
            dic.Add("SUB 基寄,加寄", "29 C3");
            dic.Add("JZ .返回", "74 18");
            dic.Add("ADD CL,AL", "00 C1");
            dic.Add("比较 CL,18", "80 F9 12");
            dic.Add("JBE readfast", "76 98");
            dic.Add("传送CL,1", "B1 01");
            dic.Add("ADD DH,1", "80 C6 01");
            dic.Add("比较 DH,2", "80 FE 02");
            dic.Add("JB readfast", "72 8E");
            dic.Add("传送DH,0", "B6 00");
            dic.Add("ADD CH,1", "80 C5 01");
            dic.Add("跳转 readfast", "EB 87");
            dic.Add("返回", "C3");
            dic.Add("定字节 0x55, 0xaa", "55 AA");

            dic.Add("传送AH,0", "B4 00");


        }
        public static string getbit(string key)
        {
            Dictionary<string, string> dic = new Dictionary<string, string>();
            dic.Add("跳转 entry", "eb 4e");
            dic.Add("定字节 0x90", "90");
            dic.Add("定字节 \"haribote\"", "48 41 52 49 42 4F 54 45  ");
            dic.Add("定字 512", "0200 ");
            dic.Add("定字节 1", "01");
            dic.Add("定字 1", "0001 ");
            dic.Add("定字节 2", "02");
            dic.Add("定字 224", "00e0 ");
            dic.Add("定字 2880", "0b40 ");
            dic.Add("定字节 0xf0", "f0");
            dic.Add("定字 9", "0009 ");
            dic.Add("定字 18", "0012 ");
            dic.Add("定字 2", "0002 ");
            dic.Add("dd 0", "00000000");
            dic.Add("dd 2880", "00000b40");
            dic.Add("定字节 0,0,0x29", "00 00 29");
            dic.Add("dd 0xffffffff", "ffffffff");
            dic.Add("定字节 \"hariboteos \"", "48 41 52 49 42 4F 54 45 4F 53    ");
            dic.Add("  ", "20 ");
            dic.Add("定字节 \"fat12   \"", "46 41 54 31 32 20 20 20  ");
            dic.Add("预约字节	18", "00 00 00 00 00 00 00 00 00 00    ");
            dic.Add("传送加寄,0", "b8 0000 ");
            dic.Add("传送栈段寄,加寄", "8e d0");
            dic.Add("传送栈寄,0x7c00 ", "bc 7c00 ");
            dic.Add("传送数段寄,加寄", "8e d8");
            dic.Add("传送加寄,0x0820 ", "b8 0820 ");
            dic.Add("传送附段寄,加寄", "8e c0");
            dic.Add("传送ch,0", "b5 00");
            dic.Add("传送cl,2", "b1 02");
            dic.Add("传送基寄,18*2*cyls-1", "bb 02cf ");
            dic.Add("调用	readfast", "e8 0033 ");
            dic.Add("传送字节 [0x0ff0],cyls", "c6 06 0FF0 14    ");
            dic.Add("跳转 0xc200", "e9 458d ");
            dic.Add("传送源寄,msg", "be 7c90 ");
            dic.Add("传送al,[源寄]", "8a 04");
            dic.Add("add 源寄,1", "83 c6 01");
            dic.Add("比较 al,0", "3c 00");
            dic.Add("等零 fin", "74 09");
            dic.Add("传送ah,0x0e", "b4 0e");
            dic.Add("传送基寄,15", "bb 000f ");
            dic.Add("中断 0x10", "cd 10");
            dic.Add("跳转 putloop", "eb ee");
            dic.Add("暂停", "f4");
            dic.Add("跳转 fin", "eb fd");
            dic.Add("定字节 0x0a, 0x0a", "0a 0a");
            dic.Add("定字节 \"load err或\"", "6c 6f 61 64 20 65 72 72 6F 72    ");
            dic.Add("定字节 0x0a", "0a");
            dic.Add("定字节 0 ", "00");
            dic.Add("传送加寄,附段寄", "8c c0");
            dic.Add("左移 加寄,3", "c1 e0 03");
            dic.Add("与 ah,0x7f", "80 e4 7f");
            dic.Add("传送al,128", "b0 80");
            dic.Add("sub al,ah", "28 e0");
            dic.Add("传送ah,bl", "88 dc");
            dic.Add("比较 bh,0", "80 ff 00");
            dic.Add("等零 .skip1", "74 02");
            dic.Add("传送ah,18", "b4 12");
            dic.Add("比较 al,ah", "38 e0");
            dic.Add("jbe .skip2", "76 02");
            dic.Add("传送al,ah", "88 e0");
            dic.Add("传送ah,19", "b4 13");
            dic.Add("sub ah,cl", "28 cc");
            dic.Add("入栈	基寄", "53");
            dic.Add("传送源寄,0", "be 0000 ");
            dic.Add("传送ah,0x02", "b4 02");
            dic.Add("传送基寄,0", "bb 0000 ");
            dic.Add("传送dl,0x00", "b2 00");
            dic.Add("入栈	附段寄", "06");
            dic.Add("入栈	数寄", "52");
            dic.Add("入栈	计寄", "51");
            dic.Add("入栈	加寄", "50");
            dic.Add("中断 0x13", "cd 13");
            dic.Add("进等零 next", "73 14");
            dic.Add("比较 源寄,5", "83 fe 05");
            dic.Add("大于e err或", "73 95");
            dic.Add("传送ah,0x00", "b4 00");
            dic.Add("出栈 加寄", "58");
            dic.Add("出栈 计寄", "59");
            dic.Add("出栈 数寄", "5a");
            dic.Add("出栈 附段寄", "07");
            dic.Add("跳转 返回ry", "eb dd");
            dic.Add("出栈 基寄", "5b");
            dic.Add("右移 基寄,5", "c1 eb 05");
            dic.Add("add 基寄,加寄", "01 c3");
            dic.Add("左移 基寄,5", "c1 e3 05");
            dic.Add("传送附段寄,基寄", "8e c3");
            dic.Add("sub 基寄,加寄", "29 c3");
            dic.Add("jz .返回", "74 18");
            dic.Add("add cl,al", "00 c1");
            dic.Add("比较 cl,18", "80 f9 12");
            dic.Add("jbe readfast", "76 98");
            dic.Add("传送cl,1", "b1 01");
            dic.Add("add dh,1", "80 c6 01");
            dic.Add("比较 dh,2", "80 fe 02");
            dic.Add("jb readfast", "72 8e");
            dic.Add("传送dh,0", "b6 00");
            dic.Add("add ch,1", "80 c5 01");
            dic.Add("跳转 readfast", "eb 87");
            dic.Add("返回", "c3");
            dic.Add("定字节 0x55, 0xaa", "55 aa");

            dic.Add("传送ah,0", "b4 00");

            dic.Add("等换0x100", "vbemode");
            dic.Add("等换0x00280000", "botpak");
            dic.Add("等换0x00100000", "数段寄kcac");
            dic.Add("等换0x00008000", "数段寄kcac0");
            dic.Add("等换0x0ff0", "cyls");
            dic.Add("等换0x0ff1", "le数段寄");
            dic.Add("等换0x0ff2", "vmode");
            dic.Add("等换0x0ff4", "scrnx");
            dic.Add("等换0x0ff6", "scrny");
            dic.Add("等换0x0ff8", "vram");
            dic.Add("载址0xc200", "");
            dic.Add("传送加寄,0x9000", "b89000");
           // dic.Add("传送附段寄,加寄", "8ec0");
            dic.Add("传送di,0", "bf0000");
            dic.Add("传送加寄,0x4f00", "b84f00");
            dic.Add("中断0x10", "cd10");
            dic.Add("比较加寄,0x004f", "3d004f");
            dic.Add("不等转scrn320", "7552");
            dic.Add("传送加寄,[附段寄:di+4]", "268b4504");
            dic.Add("比较加寄,0x0200", "3d0200");
            dic.Add("jbscrn320", "7249");
            dic.Add("传送计寄,vbemode", "b90100");
            dic.Add("传送加寄,0x4f01", "b84f01");

            dic.Add("比较字节[附段寄:di+0x19],8", "26807d1908");

            dic.Add("比较字节[附段寄:di+0x1b],4", "26807d1B04");

            dic.Add("传送加寄,[附段寄:di+0x00]", "268b05");
            dic.Add("与加寄,0x0080", "250080");
            dic.Add("jzscrn320", "7426");
            dic.Add("传送基寄,vbemode+0x4000", "bb4100");
            dic.Add("传送加寄,0x4f02", "b84f02");
            dic.Add("传送字节[vmode],8", "c6060ff208");
            dic.Add("传送加寄,[附段寄:di+0x12]", "268b4512");
            dic.Add("传送[scrnx],加寄", "a30ff4");
            dic.Add("传送加寄,[附段寄:di+0x14]", "268b4514");
            dic.Add("传送[scrny],加寄", "a30ff6");
            dic.Add("传送扩加寄,[附段寄:di+0x28]", "66268b4528");
            dic.Add("传送[vram],扩加寄", "66a30ff8");
            dic.Add("跳转keystatus", "eb20");
            dic.Add("传送al,0x13", "b013");
            //dic.Add("传送ah,0x00", "b400");
            dic.Add("传送w或d[scrnx],320", "c7060ff40140");
            dic.Add("传送w或d[scrny],200", "c7060ff600C8");
            dic.Add("传送双字[vram],0x000a0000", "66c7060FF8000A0000");
           // dic.Add("传送ah,0x02", "b402");
            dic.Add("中断0x16", "cd16");
            dic.Add("传送[le数段寄],al", "a20ff1");
            dic.Add("传送al,0xff", "b0ff");
            dic.Add("out0x21,al", "e621");
            dic.Add("nop", "90");
            dic.Add("out0xa1,al", "e6a1");
            dic.Add("禁中断", "fa");
            dic.Add("调用waitkbdout", "e800b5");
            dic.Add("传送al,0xd1", "b0d1");
            dic.Add("out0x64,al", "e664");

            dic.Add("传送al,0xdf", "b0df");
            dic.Add("out0x60,al", "e660");

            dic.Add("全局表[gdtr0]", "0f0116c38a");
            dic.Add("传送扩加寄,cr0", "0f20c0");
            dic.Add("与扩加寄,0x7fffffff", "66257ffffffF");
            dic.Add("或扩加寄,0x00000001", "6683c801");
            dic.Add("传送cr0,扩加寄", "0f22c0");
            dic.Add("跳转pipelineflush", "eb00");
            dic.Add("传送加寄,1*8", "b80008");
          //  dic.Add("传送数段寄,加寄", "8ed8");
            dic.Add("传送标段寄,加寄", "8ee0");
            dic.Add("传送全段寄,加寄", "8ee8");
            //dic.Add("传送栈段寄,加寄", "8ed0");
            dic.Add("传送扩源寄,bootpack", "66be0000c390");
            dic.Add("传送扩终寄,botpak", "66bf00280000");
            dic.Add("传送扩计寄,512*1024/4", "66b900020000");
            dic.Add("调用memcpy", "e80077");
            dic.Add("传送扩源寄,0x7c00", "66be00007c00");
            dic.Add("传送扩终寄,数段寄kcac", "66bf00100000");
            dic.Add("传送扩计寄,512/4", "66b900000080");

            dic.Add("传送扩源寄,数段寄kcac0+512", "66be00008200");
            dic.Add("传送扩终寄,数段寄kcac+512", "66bf00100200");
            dic.Add("传送扩计寄,0", "66b900000000");
            dic.Add("传送cl,字节[cyls]", "8a0e0ff0");
            dic.Add("乘法扩计寄,512*18*2/4", "6669c900001200");
            dic.Add("sub扩计寄,512/4", "6681e900000080");

            dic.Add("传送扩基寄,botpak", "66bb00280000");
            dic.Add("传送扩计寄,[扩基寄+16]", "67668b4b10");
            dic.Add("ad减一x,3", "6683c103");
            dic.Add("右移扩计寄,2", "66c1e902");
            dic.Add("jzskip", "7410");
            dic.Add("传送扩源寄,[扩基寄+20]", "67668b7314");
            dic.Add("add扩源寄,扩基寄", "6601de");
            dic.Add("传送扩终寄,[扩基寄+12]", "67668b7b0c");

            dic.Add("传送扩栈寄,[扩基寄+12]", "67668b630c");
            dic.Add("跳转双字2*8:0x0000001b", "66ea0000001B0010");
            dic.Add("inal,0x64", "e464");
            dic.Add("与al,0x02", "2402");
            dic.Add("inal,0x60", "e460");
            dic.Add("不等零waitkbdout", "75f8");

            dic.Add("传送扩加寄,[扩源寄]", "67668b06");
            dic.Add("add扩源寄,4", "6683c604");
            dic.Add("传送[扩终寄],扩加寄", "67668907");
            dic.Add("add扩终寄,4", "6683c704");
            dic.Add("sub扩计寄,1", "6683e901");
            dic.Add("不等零memcpy", "75ea");
            dic.Add("字节对齐16", "0000000000");
            dic.Add("预约字节8", "0000000000000000");
            dic.Add("定字0xffff,0x0000,0x9200,0x00cf", "FFFF0000920000CF");
            dic.Add("定字0xffff,0x0000,0x9a28,0x0047", "FFFF00009A280047");
            dic.Add("定字0", "0000");
            dic.Add("定字8*3-1", "0017");
            dic.Add("ddgdt0", "0000c370");

            dic.Add("等换20", "cyls");
            dic.Add("载址0x7c00", "");
            dic.Add("跳转entry", "eb4e");
            dic.Add("定字节0x90", "90");
            dic.Add("定字节\"haribote\"", "48415249424f5445");
            dic.Add("定字512", "0200");
            dic.Add("定字节1", "01");
            dic.Add("定字1", "0001");
            dic.Add("定字节2", "02");
            dic.Add("定字224", "00e0");
            dic.Add("定字2880", "0b40");
            dic.Add("定字节0xf0", "f0");
            dic.Add("定字9", "0009");
            dic.Add("定字18", "0012");
            dic.Add("定字2", "0002");
            dic.Add("dd0", "00000000");
            dic.Add("dd2880", "00000b40");
            dic.Add("定字节0,0,0x29", "000029");
            dic.Add("dd0xffffffff", "ffffffff");
            //dic.Add("定字节\"hariboteos\"", "48415249424f54454F53");
            dic.Add("定字节\"fat12\"", "4641543132202020");
            dic.Add("预约字节18", "00000000000000000000");
           // dic.Add("传送加寄,0", "b80000");
            dic.Add("传送栈寄,0x7c00", "bc7c00");
            dic.Add("传送加寄,0x0820", "b80820");
           // dic.Add("传送ch,0", "b500");
          //  dic.Add("传送dh,0", "b600");
           // dic.Add("传送cl,2", "b102");
           // dic.Add("传送基寄,18*2*cyls-1", "bb02cf");
            dic.Add("调用readfast", "e80033");
            dic.Add("传送字节[0x0ff0],cyls", "c6060ff014");
            dic.Add("跳转0xc200", "e9458d");

           // dic.Add("传送源寄,msg", "be7c90");
           // dic.Add("传送al,[源寄]", "8a04");
            dic.Add("ad数段寄i,1", "83c601");
            dic.Add("比较al,0", "3c00");
            dic.Add("等零fin", "7409");
          //  dic.Add("传送ah,0x0e", "b40e");
           // dic.Add("传送基寄,15", "bb000f");

            dic.Add("跳转putloop", "ebee");

            dic.Add("跳转fin", "ebfd");
            dic.Add("定字节0x0a,0x0a", "0a0a");
            dic.Add("定字节\"loaderr或\"", "6c6f6164206572726F72");
            dic.Add("定字节0x0a", "0a");
            dic.Add("定字节0", "00");

           // dic.Add("传送加寄,附段寄", "8cc0");
            dic.Add("左移加寄,3", "c1e003");
            dic.Add("与ah,0x7f", "80e47f");
           // dic.Add("传送al,128", "b080");
            dic.Add("subal,ah", "28e0");
           // dic.Add("传送ah,bl", "88dc");
            dic.Add("比较bh,0", "80ff00");
            dic.Add("等零.skip1", "7402");
            //dic.Add("传送ah,18", "b412");
            dic.Add("比较al,ah", "38e0");
            dic.Add("jbe.skip2", "7602");
            //dic.Add("传送al,ah", "88e0");
           // dic.Add("传送ah,19", "b413");
            dic.Add("subah,cl", "28cc");
            dic.Add("jbe.skip3", "7602");
            dic.Add("入栈基寄", "53");
            //dic.Add("传送源寄,0", "be0000");

           // dic.Add("传送基寄,0", "bb0000");
          //  dic.Add("传送dl,0x00", "b200");
            dic.Add("入栈附段寄", "06");
            dic.Add("入栈数寄", "52");
            dic.Add("入栈计寄", "51");
            dic.Add("入栈加寄", "50");
            dic.Add("中断0x13", "cd13");
            dic.Add("进等零next", "7314");
            dic.Add("比较源寄,5", "83fe05");
            dic.Add("大于eerr或", "7395");
            dic.Add("出栈加寄", "58");
            dic.Add("出栈计寄", "59");
            dic.Add("出栈数寄", "5a");
            dic.Add("出栈附段寄", "07");
            dic.Add("跳转返回ry", "ebdd");
            dic.Add("出栈基寄", "5b");
            dic.Add("右移基寄,5", "c1eb05");
          //  dic.Add("传送ah,0", "b400");
            dic.Add("add基寄,加寄", "01c3");
            dic.Add("左移基寄,5", "c1e305");
           // dic.Add("传送附段寄,基寄", "8ec3");

            dic.Add("sub基寄,加寄", "29c3");
            dic.Add("jz.返回", "7418");
            dic.Add("addcl,al", "00c1");
            dic.Add("比较cl,18", "80f912");
            dic.Add("jbereadfast", "7698");
           // dic.Add("传送cl,1", "b101");
            dic.Add("adddh,1", "80c601");
            dic.Add("比较dh,2", "80fe02");
            dic.Add("jbreadfast", "728e");

            dic.Add("addch,1", "80c501");
            dic.Add("跳转readfast", "eb87");
            dic.Add("预约字节0x7dfe-$", "00000000000000000000");
            dic.Add("定字节0x55,0xaa", "55aa");



            dic.Add("全局_io_暂停,_io_禁中断,_io_sti,_io_sti暂停", "");
            dic.Add("全局_io_in8,_io_in16,_io_in32", "");
            dic.Add("全局_io_out8,_io_out16,_io_out32", "");
            dic.Add("全局_io_load_efla全段寄,_io_st或e_efla全段寄", "");
            dic.Add("全局_load_gdtr,_load_idtr", "");
            dic.Add("全局_load_cr0,_st或e_cr0", "");
            dic.Add("全局_load_tr", "");
            dic.Add("全局_asm_中断h与ler20,_asm_中断h与ler21", "");
            dic.Add("全局_asm_中断h与ler2c,_asm_中断h与ler0c", "");
            dic.Add("全局_asm_中断h与ler0d,_asm_end_app", "");
            dic.Add("全局_mem对比_sub", "");
            dic.Add("全局_far跳转,_far调用", "");
            dic.Add("全局_asm_hrb_api,_start_app", "");
            dic.Add("外部_中断h与ler20,_中断h与ler21", "");
            dic.Add("外部_中断h与ler2c,_中断h与ler0d", "");
            dic.Add("外部_中断h与ler0c", "");
            dic.Add("外部_hrb_api", "");






            dic.Add("sti", "fb");


            dic.Add("传送扩数寄,[扩栈寄+4]", "8b542404");
            dic.Add("传送扩加寄,0", "b800000000");
            dic.Add("inal,数寄", "ec");

            dic.Add("in加寄,数寄", "66ed");

            dic.Add("in扩加寄,数寄", "ed");

            dic.Add("传送al,[扩栈寄+8]", "8a442408");
            dic.Add("out数寄,al", "ee");

            dic.Add("传送扩加寄,[扩栈寄+8]", "8b442408");
            dic.Add("out数寄,加寄", "66ef");

            dic.Add("out数寄,扩加寄", "ef");

            dic.Add("入栈fd", "9c");
            dic.Add("出栈扩加寄", "58");

            dic.Add("传送扩加寄,[扩栈寄+4]", "8b442404");
            dic.Add("入栈扩加寄", "50");
            dic.Add("出栈fd", "9d");

            dic.Add("传送加寄,[扩栈寄+4]", "668b442404");
            dic.Add("传送[扩栈寄+6],加寄", "6689442406");
            dic.Add("全局表[扩栈寄+6]", "0f01542406");
            dic.Add("", "_load_idtr:");
            dic.Add("中断表[扩栈寄+6]", "0f015c2406");


            dic.Add("ltr[扩栈寄+4]", "0f005c2404");
            dic.Add("入栈数段寄", "1e");
            dic.Add("入栈ad", "60");
            dic.Add("传送扩加寄,扩栈寄", "89e0");
            dic.Add("传送加寄,栈段寄", "668cd0");
            dic.Add("调用_中断h与ler20", "e8[00000000]");
            dic.Add("出栈ad", "61");
            dic.Add("出栈数段寄", "1f");
            dic.Add("中断返回", "cf");
            dic.Add("调用_中断h与ler21", "e8[00000000]");
            dic.Add("调用_中断h与ler2c", "e8[00000000]");
            dic.Add("调用_中断h与ler0c", "e8[00000000]");
            dic.Add("比较扩加寄,0", "83f800");
            dic.Add("不等转_asm_end_app", "0f8500000091");
            dic.Add("add扩栈寄,4", "83c404");
            dic.Add("调用_中断h与ler0d", "e8[00000000]");



            dic.Add("入栈扩终寄", "57");
            dic.Add("入栈扩源寄", "56");
            dic.Add("入栈扩基寄", "53");
            dic.Add("传送扩源寄,0xaa55aa55", "beaa55aa55");
            dic.Add("传送扩终寄,0x55aa55aa", "bf55aa55aa");
            dic.Add("传送扩加寄,[扩栈寄+12+4]", "8b442410");
            dic.Add("传送扩基寄,扩加寄", "89c3");
            dic.Add("add扩基寄,0xffc", "81c300000ffc");
            dic.Add("传送扩数寄,[扩基寄]", "8b13");
            dic.Add("传送[扩基寄],扩源寄", "8933");
            dic.Add("x或双字[扩基寄],0xffffffff", "8333FF");
            dic.Add("比较扩终寄,[扩基寄]", "3b3b");
            dic.Add("不等转mts_fin", "7518");
            dic.Add("比较扩源寄,[扩基寄]", "3b33");

            dic.Add("传送[扩基寄],扩数寄", "8913");
            dic.Add("add扩加寄,0x1000", "0500001000");
            dic.Add("比较扩加寄,[扩栈寄+12+8]", "3b442414");
            dic.Add("jbemts_loop", "76d9");
            dic.Add("出栈扩基寄", "5b");
            dic.Add("出栈扩源寄", "5e");
            dic.Add("出栈扩终寄", "5f");

            dic.Add("跳转far[扩栈寄+4]", "ff6c2404");

            dic.Add("调用far[扩栈寄+4]", "ff5c2404");


            dic.Add("调用_hrb_api", "e8[00000000]");


            dic.Add("add扩栈寄,32", "83c420");
            dic.Add("传送扩栈寄,[扩加寄]", "8b20");
            dic.Add("传送双字[扩加寄+4],0", "c7400400000000");


            dic.Add("传送扩加寄,[扩栈寄+36]", "8b442424");
            dic.Add("传送扩计寄,[扩栈寄+40]", "8b4c2428");
            dic.Add("传送扩数寄,[扩栈寄+44]", "8b54242c");
            dic.Add("传送扩基寄,[扩栈寄+48]", "8b5c2430");
            dic.Add("传送扩址寄,[扩栈寄+52]", "8b6c2434");
            dic.Add("传送[扩址寄],扩栈寄", "896500");
            dic.Add("传送[扩址寄+4],栈段寄", "8c5504");

            dic.Add("传送数段寄,基寄", "8e定字节");
            dic.Add("传送标段寄,基寄", "8ee3");
            dic.Add("传送全段寄,基寄", "8eeb");
            dic.Add("或扩计寄,3", "83c903");
            dic.Add("或扩基寄,3", "83cb03");

            dic.Add("入栈扩数寄", "52");
            dic.Add("入栈扩计寄", "51");

            dic.Add("返回f", "cb");
            string rs = "";
            if (!dic.TryGetValue(key.ToLower(), out rs))
            {
                rs = "false";
            }
            return rs;
        }
    }
}
